1. Field of the Invention
The present invention relates to an image processing apparatus and an image processing method, which apply color conversion processes to image data, and a lookup table generation method.
2. Description of the Related Art
Upon outputting an image in an image processing apparatus, it is a common practice to convert input image data expressed on a device-independent color space such as an sRGB space into image data expressed on a device-dependent color space which can be reproduced by an image output unit.
In this case, an apparatus of a CMYK color system such as a printer has to further convert the image data on the device-dependent color space into data of color material colors represented by inks or toners. Furthermore, after the conversion into the color material color data, conversion required to correct tone characteristics to fit those of an apparatus in an output unit is often required.
In the aforementioned case, in order to generate output data from input data, a conversion process from data expressed on a device-independent color space into data expressed on a device-dependent color space is executed first. Then, a conversion process from the data expressed on the device-dependent color space into color material color data is executed. Finally, a conversion process required to correct the tone characteristics of the color material color data is executed. In this way, the three stages of color conversion processes are executed in turn.
Upon sequentially processing such large number of color conversion processes, corresponding conversion mechanisms have to be prepared, and a time is required to execute all these conversion processes. In order to solve this problem, a method of combining the plurality of conversion processes into one process has been proposed (Japanese Patent Laid-Open No. 05-502781).
In case of a conversion process which has a strong nonlinearity and is hardly expressed by unique mathematical expressions, a color conversion method using a lookup table (LUT) is generally used. In this case, the LUT is a table which defines input colors and corresponding output colors. The LUT defines the predetermined number of grids on a predetermined color space before color conversion, and stores colors after color conversion at these grid points. For example, when input data is defined on an RGB color space and output data is defined on a CMYK color space, if R, G, and B values corresponding to each grid point are input, four C, M, Y, and K values stored in correspondence with that point are output. When a color which does not correspond to any grid point of the LUT is input, it is a common practice to calculate an output value by linear interpolation such as tetrahedral interpolation from surrounding grid points or interpolation based on other nonlinear functions.
When the nonlinearities of color spaces before and after color conversion are strong, the number of grid points has to be increased to attain conversion with sufficiently high precision. As a result, the capacity of a memory or HDD required to store such LUT is increased. In order to solve this problem, for example, a method of unevenly designating grid intervals to have dense grid intervals for an area important in a color conversion process has been proposed (Japanese Patent Laid-Open No. 08-194817).
However, when the LUTs having the strong nonlinearities are combined as in Japanese Patent Laid-Open No. 05-502781, the nonlinearities are further enhanced. As a result, compared to sequential execution of the color conversion processes, the interpolation precision may drop, thereby decreasing the conversion precision. Also, in order to generate a LUT having uneven intervals as in Japanese Patent Laid-Open No. 08-194817, complicated processes are required, and hardware or software required to generate such LUT has to be configured and operated. Upon combining LUTs having uneven intervals, when important areas on the respective LUTs to be combined are different, and grid point intervals are used in correspondence with one of these LUTs, the important area of another LUT cannot be covered. As a result, the conversion precision after combination unwantedly drops.